package com.glsc.ngateway.platform.domain.costallocation;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;

/**
 * @author guoj
 * @description: 云管和成分分摊不一致的数据
 * @date 2024/12/23 9:29
 */
@Data
@Entity
@Table(name = "t_replenishment_info")
@AllArgsConstructor
@NoArgsConstructor
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class ReplenishmentInfo {
    @ApiModelProperty(value = "id")
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "l_id", columnDefinition = "int(11) comment '系统ID'")
    private Long id;
    @ApiModelProperty(value = "系统编号")
    @Column(name = "vc_system_classno", columnDefinition = "varchar(50) comment '系统编号'")
    private String systemClassNo;

    @ApiModelProperty(value = "责任人oa账户")
    @Column(name = "vc_system_user_id", columnDefinition = "varchar(100) comment '责任人'")
    private String systemUserId;

    @ApiModelProperty(value = "资产唯一标识")
    @Column(name = "vc_it_uniquekey", columnDefinition = "varchar(20) comment '资产唯一标识'")
    private String itUniqueKey;
    @ApiModelProperty(value = "ip")
    @Column(name = "vc_ip", columnDefinition = "varchar(50) comment 'ip'")
    private String vcIp;

    //物理机取对应状态字段
    //虚拟机取 删除/未删除
    @ApiModelProperty(value = "machineStatus")
    @Column(name = "machine_status", columnDefinition = "varchar(50) comment '服务器状态'")
    private String machineStatus;

    @ApiModelProperty(value = "machineType")
    @Column(name = "machine_type", columnDefinition = "varchar(50) comment '设备类型'")
    private String machineType;

    @ApiModelProperty(value = "dataSource")
    @Column(name = "data_source", columnDefinition = "varchar(50) comment '数据来源'")
    private String dataSource;

    @Transient
    private String systemUserName;

    @Transient
    private String systemName;
}
